package com.deruan.hotcore.resource.table.model;

import java.util.List;

import org.columba.mail.folder.IMailFolder;
import org.columba.mail.message.IHeaderList;

import com.deruan.hotcore.base.common.bean.ResourceBean;

public class ResourceTableModelChangedEvent {
	public final static int UPDATE = 0;
    public final static int SET = 1;
    public final static int REMOVE = 2;
    public final static int MARK = 3;
    protected IMailFolder srcFolder;
    protected Object[] uids;
    protected int markVariant;
    protected int eventType;
    protected List<ResourceBean> headerList;

    /**
 * Constructor for TableChangedEvent.
 */
    public ResourceTableModelChangedEvent(int eventType) {
        this.eventType = eventType;
    }

    public ResourceTableModelChangedEvent(int eventType, IMailFolder srcFolder) {
        this.eventType = eventType;
        this.srcFolder = srcFolder;
    }

    public ResourceTableModelChangedEvent(int eventType, IMailFolder srcFolder,Object[] uids) {
        this.eventType = eventType;
        this.srcFolder = srcFolder;
        this.uids = uids;
    }

    public ResourceTableModelChangedEvent(int eventType, IMailFolder srcFolder,
        List<ResourceBean> headerList) {
        this.eventType = eventType;
        this.srcFolder = srcFolder;
        this.headerList = headerList;
    }

    public ResourceTableModelChangedEvent(int eventType, IMailFolder srcFolder,
        Object[] uids, int markVariant) {
        this.eventType = eventType;
        this.srcFolder = srcFolder;
        this.uids = uids;
        this.markVariant = markVariant;
    }

    /**
 * Returns the markVariant.
 * @return int
 */
    public int getMarkVariant() {
        return markVariant;
    }

    /**
 * Returns the srcFolder.
 * @return FolderTreeNode
 */
    public IMailFolder getSrcFolder() {
        return srcFolder;
    }

    /**
 * Returns the uids.
 * @return Object[]
 */
    public Object[] getUids() {
        return uids;
    }

    /**
 * Returns the eventType.
 * @return int
 */
    public int getEventType() {
        return eventType;
    }

    /**
 * Returns the headerList.
 * @return HeaderInterface[]
 */
    public List<ResourceBean> getHeaderList() {
        return headerList;
    }
}
